home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Precision Software Appli…tions Silver Collection 3
/
Precision Software Applications Silver Collection Volume Three (PSM) (1993).iso
/
music2
/
midizip.exe
/
MIDI.DOC
next >
Wrap
Text File
|
1991-03-09
|
26KB
|
526 lines
*** MIDI ***
MIDI is a diagnostic/universal-librarian utility. It can be used to
identify midi communication problems with instruments or computers. It can
also save midi data dumps that are in standard System Exclusive format.
Except for the Real Time commands page in Send Mode, MIDI uses the hex
numbering system. All midi data displayed on the screen is in hex, and all
midi data entered at the keyboard must be done in hex. The program is not
case sensitive. Most information in synth manuals about sys-ex messages is
given in hex but be careful, some manufacturers have been known to mix hex
and decimal in their charts. There are several memory resident programs on
the market that convert between hex, decimal, and binary, which can be
useful while working with MIDI. Below is a conversion chart that can be
used also.
When using a memory resident program while in MIDI, it may be necessary to
press a key when returning to MIDI. This is due to the way some resident
programs handle the keyboard interrupt (INT 16h). If the midi interface
gets confused while in Monitor Mode, the Esc key will reset it.
MIDI checks to see if it has a Roland MPU-401 or equivalent interface. If
it doesn't find one, it will inform you and give you the option of running
the program anyway. If you run the program without an interface, the only
thing that doesn't work is receiving and transmitting data (although it will
appear to transmit).
────────────────────────────────────────────────────────────────────────────────
MONITOR MODE
Monitor Mode is used to look at the midi data coming from an instrument.
The Mask status bytes option enables you to have the program ignore and not
display data you don't want to see. To remove or enter a mask, press the
"/" key. The arrow keys can be used to move the cursor to an open mask or
to a specific mask to delete. Delete by pressing "X" or Esc. You can mask
up to five different bytes. When a masked status byte is received, it and
any associated data bytes are not displayed. This is very useful for
"uncluttering" the display with information you don't want to see. Pressing
"E" or "8" is a shorthand way of entering "FE" or "F8". If you make a
mistake in entering the first digit of the byte, the Backspace key can be
used to start again. If the mistake is made on the second digit, you will
have to press the "/" key, arrow over to the byte, and then reenter it.
To clear all masks, press "C".
Note: The "/" key is called "?" on the program screen - you don't have to
press Shift when hitting this key.
The "Esc" key resets the midi interface.
To make the display of data more readable, any byte higher than 7F is
displayed in reverse video or a different color (to identify it as a status
byte), and 2 spaces are inserted before it. Pressing "L" will display a
list of midi status bytes and what they mean. The "K" key clears the screen
and also clears the history buffer.
Pressing "H" calls up the history buffer, which holds 30,000 bytes. After
the buffer is filled, it is still updated, so it always holds the last
30,000 bytes. The History Buffer can be written to disk as an ASCII file
which can then be printed if desired.
Note: Do not begin any file names with "MIDI". You will not be allowed to
if you try. This is done to prevent accidentally overwriting the program or
this .DOC file.
────────────────────────────────────────────────────────────────────────────────
SEND MODE
Send Mode is used to find out how equipment will respond to various midi
data. The loop repeat can be used to constantly send a small sequence for
trouble shooting purposes. Use spaces for delays. Each space is about
1/40th of a sec. You can enter up to two lines of data. The "G" key retypes
the last line(s) that were entered. The "U" key allows you to send a "dump
request" and then view the response on the monitor screen. Just type in the
request, complete with F0 at the beginning and F7 at the end, and then press
"U". The request will be sent, and you will be immediately put in Monitor
Mode to view the response, with the first two masks set to FE and F8. (This
is because many synths & drum machines keep sending these bytes while doing
a bulk dump). The response can then be viewed in the history buffer and
saved to disk if desired.
It takes two hex characters to make a complete byte. If an odd number of
hex characters is entered, the last single character won't be sent. If you
press "U" with an odd number of characters, the entry area will be blanked
and you won't be put in Monitor Mode. If this happens, press "G" to retype
the entry, correct it, and then press "G" again.
The Real Time commands screen has more options for sending data, including
midi clock and associated commands. The instructions on the screen are self
explanatory. This screen is particularly useful for checking sequencers and
drum machines for proper operation and finding out what commands they
support. The midi interface sends midi clock bytes (F8) while in this
screen only. The Start & Continue commands turn on the audible metronome.
Start is without accents and Continue is with.
Note: If you're using Song Position Pointer, send the pointer, and then a
"continue" command (not start). The start command always means "start at
the beginning".
────────────────────────────────────────────────────────────────────────────────
PATCH MODE
Patch Mode consists of several subsections for dealing with saving and
transmitting bulk patch or sequence data that is in the standard "System
Exclusive" format. When you first enter Patch Mode the screen shows an
alphabetical listing, by extension or name, of all the files on the disk or
current subdirectory. The maximum number of files that can be displayed on
a single page is 114. The maximum number of pages allowed is four (456
files). If there are more, they will not be displayed and the "number of
pages" area at the upper right corner of the screen will have a star (*).
As files are added, deleted, or renamed, the directory will be updated. You
will notice that the names of programs that start with "MIDI" (like this
one) are not displayed. This is done on purpose to save space for voice
bank listings.
The "Receive" option will save System Exclusive dumps from midi instruments.
When you press "R", you are given the choice of initiating the dump from the
instrument or sending a "dump request". Some common dump requests are
listed on the screen along with instructions for entering the request. Since
it takes two hex characters to make a byte, if you type an odd number of
digits and press Enter, the request will not be sent, and you will be
instructed to try again. If you elect not to send a dump request, the
computer is immediately put in sys-ex receive mode and is waiting for data.
As data comes in, small musical notes will appear between the braces in the
upper left portion of the screen. When the notes are gone, the "W" key
should be pressed to finish writing the data to the disk. This is a
separate operation so that separate bulk dumps from one or several
instruments can be saved to one file. Just keep initiating bulk dumps until
you are done, then press the "W" key. MIDI saves the data to disk as it is
being received, so available disk space is the only limiting factor.
A switch in the SPX-90 has to be changed which makes the "thru" jack an
"out" jack in order to use the special SPX-90 dump request. See the
documentation at the end of this doc file.
The "Transmit" option transmits the system exclusive files back to the
instruments. You have a "block-at-a-time" choice here in case you have
saved several instruments to one file and need time between each "send" to
connect the proper instrument to the computer. If the instruments are
different, they can ALL be fed the file non stop. Each instrument will
respond only to it's particular sys-ex message.
Note: MIDI checks files before they are transmitted. If the file is not
in standard "system-exclusive" format, an error message will be displayed.
The "Rename" and "Delete" options are self explanatory.
Once again, you will not be able to name any files "MIDI...".
The "File Size" command lists sizes of sys-ex dumps of various instruments.
On some instruments, like the Yamaha DX7II, you have the option of sending
from as little as one bank to as much as "everything". The numbers on this
screen are for "everything".
Pressing "X" changes the file sort order. The sort order is for MIDI's
display only - the files are not permanently sorted.
The (V)iew command has two different meanings. If the highlight is over a
file, pressing "V" will display the contents of the file in "debug" format.
This is useful for looking at voice names in a bulk dump file, or just being
curious about what's there. At the bottom right corner of the display is a
"counter" that indicates the byte number of the last byte displayed on the
screen.
Any filenames with an extension of "*s*" are subdirectories. Pressing "V"
when a subdirectory is highlighted will take you to that subdirectory. This
is useful for keeping patches for different instruments separate. The
(B)ack command simply takes you "back" one subdirectory level.
Note: If you name a subdirectory with an extension, MIDI will not display
it. This doesn't hurt anything, you just won't be able to move to it.
The (C)hange command allows you to change disk drives. If you select an
invalid drive, there will be no error message - you just won't change
drives.
────────────────────────────────────────────────────────────────────────────────
DOS COMMAND LINE ARGUMENTS
MIDI supports command line arguments for Monitor (M), Send (S), Patch (P),
black & white (B), and display sorted by name instead of extension (X).
For example: To immediately enter Patch Mode, type "MIDI P" at the DOS
prompt. For black & white display, files sorted by name, and initially
entering Monitor Mode, type "MIDI BXM". The parameters can be in any order
and invalid parameters are ignored.
────────────────────────────────────────────────────────────────────────────────
MIDI is user-supported shareware. If you find it useful, send a check or
money-order for $15.00 or more, and you will receive the latest version.
Please include the version number you currently have. The version number
is on the first screen when you enter MIDI without any options (other than
"B"). If you have the latest, you will get the next version when it is
available.
If you give MIDI to a friend, or upload it to a BBS, be sure & give them
the self-extracting MIDIZIP.EXE - that way, they will get this documentation
along with the program. This version is 3a.
Eddy Reynolds
11214 Olde Mint House Lane
Tomball TX 77375
────────────────────────────────────────────────────────────────────────────────
NUMBER CONVERSION
~~~~~~~~~~~~~~~~~
****** Status Bytes ******
~~~~~~ ~~~~~
HEX DECIMAL BINARY HEX DECIMAL BINARY HEX DECIMAL BINARY
~~~ ~~~~~~~ ~~~~~~ ~~~ ~~~~~~~ ~~~~~~ ~~~ ~~~~~~~ ~~~~~~
80 128 10000000 AB 171 10101011 D6 214 11010110
81 129 10000001 AC 172 10101100 D7 215 11010111
82 130 10000010 AD 173 10101101 D8 216 11011000
83 131 10000011 AE 174 10101110 D9 217 11011001
84 132 10000100 AF 175 10101111 DA 218 11011010
85 133 10000101 B0 176 10110000 DB 219 11011011
86 134 10000110 B1 177 10110001 DC 220 11011100
87 135 10000111 B2 178 10110010 DD 221 11011101
88 136 10001000 B3 179 10110011 DE 222 11011110
89 137 10001001 B4 180 10110100 DF 223 11011111
8A 138 10001010 B5 181 10110101 E0 224 11100000
8B 139 10001011 B6 182 10110110 E1 225 11100001
8C 140 10001100 B7 183 10110111 E2 226 11100010
8D 141 10001101 B8 184 10111000 E3 227 11100011
8E 142 10001110 B9 185 10111001 E4 228 11100100
8F 143 10001111 BA 186 10111010 E5 229 11100101
90 144 10010000 BB 187 10111011 E6 230 11100110
91 145 10010001 BC 188 10111100 E7 231 11100111
92 146 10010010 BD 189 10111101 E8 232 11101000
93 147 10010011 BE 190 10111110 E9 233 11101001
94 148 10010100 BF 191 10111111 EA 234 11101010
95 149 10010101 C0 192 11000000 EB 235 11101011
96 150 10010110 C1 193 11000001 EC 236 11101100
97 151 10010111 C2 194 11000010 ED 237 11101101
98 152 10011000 C3 195 11000011 EE 238 11101110
99 153 10011001 C4 196 11000100 EF 239 11101111
9A 154 10011010 C5 197 11000101 F0 240 11110000
9B 155 10011011 C6 198 11000110 F1 241 11110001
9C 156 10011100 C7 199 11000111 F2 242 11110010
9D 157 10011101 C8 200 11001000 F3 243 11110011
9E 158 10011110 C9 201 11001001 F4 244 11110100
9F 159 10011111 CA 202 11001010 F5 245 11110101
A0 160 10100000 CB 203 11001011 F6 246 11110110
A1 161 10100001 CC 204 11001100 F7 247 11110111
A2 162 10100010 CD 205 11001101 F8 248 11111000
A3 163 10100011 CE 206 11001110 F9 249 11111001
A4 164 10100100 CF 207 11001111 FA 250 11111010
A5 165 10100101 D0 208 11010000 FB 251 11111011
A6 166 10100110 D1 209 11010001 FC 252 11111100
A7 167 10100111 D2 210 11010010 FD 253 11111101
A8 168 10101000 D3 211 11010011 FE 254 11111110
A9 169 10101001 D4 212 11010100 FF 255 11111111
AA 170 10101010 D5 213 11010101
****** Data Bytes ******
~~~~ ~~~~~
HEX DECIMAL BINARY HEX DECIMAL BINARY HEX DECIMAL BINARY
~~~ ~~~~~~~ ~~~~~~ ~~~ ~~~~~~~ ~~~~~~ ~~~ ~~~~~~~ ~~~~~~
0 0 00000000 2B 43 00101011 56 86 01010110
1 1 00000001 2C 44 00101100 57 87 01010111
2 2 00000010 2D 45 00101101 58 88 01011000
3 3 00000011 2E 46 00101110 59 89 01011001
4 4 00000100 2F 47 00101111 5A 90 01011010
5 5 00000101 30 48 00110000 5B 91 01011011
6 6 00000110 31 49 00110001 5C 92 01011100
7 7 00000111 32 50 00110010 5D 93 01011101
8 8 00001000 33 51 00110011 5E 94 01011110
9 9 00001001 34 52 00110100 5F 95 01011111
A 10 00001010 35 53 00110101 60 96 01100000
B 11 00001011 36 54 00110110 61 97 01100001
C 12 00001100 37 55 00110111 62 98 01100010
D 13 00001101 38 56 00111000 63 99 01100011
E 14 00001110 39 57 00111001 64 100 01100100
F 15 00001111 3A 58 00111010 65 101 01100101
10 16 00010000 3B 59 00111011 66 102 01100110
11 17 00010001 3C 60 00111100 67 103 01100111
12 18 00010010 3D 61 00111101 68 104 01101000
13 19 00010011 3E 62 00111110 69 105 01101001
14 20 00010100 3F 63 00111111 6A 106 01101010
15 21 00010101 40 64 01000000 6B 107 01101011
16 22 00010110 41 65 01000001 6C 108 01101100
17 23 00010111 42 66 01000010 6D 109 01101101
18 24 00011000 43 67 01000011 6E 110 01101110
19 25 00011001 44 68 01000100 6F 111 01101111
1A 26 00011010 45 69 01000101 70 112 01110000
1B 27 00011011 46 70 01000110 71 113 01110001
1C 28 00011100 47 71 01000111 72 114 01110010
1D 29 00011101 48 72 01001000 73 115 01110011
1E 30 00011110 49 73 01001001 74 116 01110100
1F 31 00011111 4A 74 01001010 75 117 01110101
20 32 00100000 4B 75 01001011 76 118 01110110
21 33 00100001 4C 76 01001100 77 119 01110111
22 34 00100010 4D 77 01001101 78 120 01111000
23 35 00100011 4E 78 01001110 79 121 01111001
24 36 00100100 4F 79 01001111 7A 122 01111010
25 37 00100101 50 80 01010000 7B 123 01111011
26 38 00100110 51 81 01010001 7C 124 01111100
27 39 00100111 52 82 01010010 7D 125 01111101
28 40 00101000 53 83 01010011 7E 126 01111110
29 41 00101001 54 84 01010100 7F 127 01111111
2A 42 00101010 55 85 01010101
────────────────────────────────────────────────────────────────────────────────
YAMAHA SPX90 SYSTEM EXCLUSIVE
In order to make the Yamaha SPX-90 send system exclusive messages, it is
necessary to change the midi thru jack into a midi out jack. This is
accomplished by removing the cover of the unit (2 screws on each side, 2
screws on the front top, and 1 screw on the upper back) and changing switch
SW105. This switch is located on the circuit board about 2 inches toward
the front of the unit from the midi in jack. It will be in the "N"
position. Change it to the "T" position. This modification only changes
the midi thru jack to an out jack so it will respond to bulk dump requests.
It does not affect the SPX-90 in any other way. Below is the format of the
bulk dump.
BULK DUMP FORMAT (Memory Parameter)
Byte# Data(Hex) Comments
1 F0 Status
2 43 Yamaha ID
3 0n n - Receive Channel (0 hex to F hex)
4 7E Format No.
5 00
6 58 Byte count (88 bytes)
--------------------------------------------------------
7 4C "L"
8 4D "M"
9 20 " "
10 20 " "
11 38 "8"
12 33 "3"
13 33 "3"
14 32 "2"
15 4D "M"
16 xx Patch Number
---------------------------------------------------------------
17 (02)
18 (00) " " First Character of Title
19 (02)
20 (00) " "
21 (02) The Title is 16 characters long.
22 (00) " " Each character uses two bytes.
23 (04)
24 (05) "E"
25 (05) Only the least significant nybble
26 (08) "X" of each byte is used.
27 (04)
28 (01) "A"
29 (04)
30 (0D) "M"
31 (05)
32 (00) "P"
33 (04)
34 (0C) "L"
35 (04)
36 (05) "E"
37 (02)
38 (00) " "
39 (02)
40 (00) " "
41 (02)
42 (00) " "
43 (02)
44 (00) " "
45 (02)
46 (00) " "
47 (02)
48 (00) " "
-------------------------------------------------------
49 Balance Data
50
51
52
-------------------------------------------------------
53 Output Level Data
54
55
56
---------------------------------------------------------
57 Parameter 1
58
59
60
---------------------------------------------------------
61 Parameter 2
62
63
64
--------------------------------------------------------
65 Parameter 3
66
67
68
---------------------------------------------------------
69 Parameter 4
70
71
72
----------------------------------------------------------
73 Parameter 5
74
75
76
----------------------------------------------------------
77 Parameter 6
78
79
80
----------------------------------------------------------
81 Parameter 7
82
83
84
----------------------------------------------------------
85 Parameter 8
86
87
88
----------------------------------------------------------
89 Parameter 9
90
91
92
----------------------------------------------------------
93 tt Program Type Code (01 to 1E)
94 0b b=1: Bypass on b=0: Bypass off
95 ee Checksum
96 F7 EOX
Balance, Output Level, and Parameter use 4 bytes each.
Once again, only the least significant nybble is used.
If a parameter is not used, the data is 00 00 00 00
The program type code refers to the original program (1 thru 30)
that this program came from.
BULK DUMP FORMAT (Relative program number and memory number)
(This is the map of which program is called when
a particular patch change is received via midi)
Byte # Data(Hex) Comments
1 F0 Status
2 43 Yamaha ID
3 0n n - Receive Channel
4 7E Format No.
5 01
6 0B Byte count (139 bytes)
--------------------------------------------------------
7 4C "L"
8 4D "M"
9 20 " "
10 20 " "
11 38 "8"
12 33 "3"
13 33 "3"
14 32 "2"
15 54 "T"
16 xx Bank No. (01 to 04) (A to D)
---------------------------------------------------------------
17 (08) Patch 1 Memory No. (Ex. 8)
18 (02) Patch 2 Memory No. (Ex. 2)
144 (40) Patch 128 Memory No. (Ex. 64)
-------------------------------------------------------------------
145 0r r: midi receive channel of the Bank
146 ee Checksum
147 F7 EOX
BULK DUMP REQUEST
Byte # Data(Hex) Comments
1 F0 Status
2 43 Yamaha ID
3 2n n - Receive Channel
4 7E Format No.
--------------------------------------------------------
5 4C "L"
6 4D "M"
7 20 " "
8 20 " "
9 38 "8"
10 33 "3"
11 33 "3"
12 32 "2"
---------------------------------------------------------
13 xx xx = 4D
14 yy yy = 1F to 5A Dump of memory parameters
------------------- of one program (31 to 90)
15 F7
xx = 54
yy = 01 to 04 Dump of program memory
Bank A to D
xx = 55
yy = 01 to 04 Request for bank change